Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »
Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.
Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 170 (pdf).
Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.
Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »
Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Čínská technologická společnost DeepSeek zveřejnila na GitHubu svůj framework DeepInfer, nástroj pro efektivní offline inferenci svého modelu DeepSeek-V4.1-Flash ve velkém měřítku. Software běží na Linuxu a nativně podporuje akcelerátory Nvidia ale i čipy Huawei Ascend 950. Jedná se pouze o samotný inferenční engine, ne kompletní produkční službu. Zdrojový kód je dostupný pod licencí Apache 2.0.
Do konference přišlo celkem 3414 emailů, nejvíce jich poslali Andrew Morton, Greg KH a Dmitry Torokhov.
6. dub - 16. dub
Chris Mason napsal:
Sadu experimentálních patchů pro reiserfs v3 můžete stahovat odsud:
ftp://ftp.suse.com/pub/people/mason/patches/reiserfs/2.6.5
Vzhledem k tomu, že některé z těchto již v -mm jsou a jiné ne, jsou připraveny dva soubory: series.linus obsahuje patche potřebné pro hlavní strom 2.6.5, series.mm pak patche pro 2.6.5-mm1.
Většina je od Jeffa Mahoneyho a ode mě. Jsou mezi nimi:
opravy chyb optimalizace logování podpora data=ordered xattr acl kvóty chybové hlášky s názvy zařízení (založeno na Olegově patchi pro 2.4) vylepšení alokátoru bloků
ACL a xattr od Jeffa Mahoneyho pro reiserfs v3 už jsou nějakou dobu používány v 2.4 a 2.6 kernelech od SUSE. Mnohokrát jsem je poslal do namesys ke kontrole, ale Hans ten kód vůbec nechce vzít na vědomí. Minulý měsíc jsem se znovu pokusil s ním o tom kódu mluvit, ale úplně mě ignoruje.
Jeho tehdejším argumentem bylo, že nechce nové funkce ve verzi 3. Ta implementace ale nikterak nezmění formát disku (xattr jsou uloženy jako běžné soubory ve skrytém adresáři). Mám zato, že reiserfs tyto funkce potřebuje, aby byl v jádře i nadále aktuální, a proto je posílám k začlenění do -mm. Pro -mm sérii Andrewovi posílám následující patche ze series.mm:
reiserfs-end-trans-bkl reiserfs-acl-mknod.diff reiserfs-xattrs-04 reiserfs-acl-02 reiserfs-trusted-02 reiserfs-selinux-02 reiserfs-xattr-locking-02 reiserfs-quota permission-reiserfs reiserfs-warning
(což znamená vše kromě kódu nového alokátoru bloků)
Následovala kratší diskuze ohledně alokátoru bloků a problémech, se kterými se současná i nová implementace potýká. O něco dále nabídl Chris Wright patch, ale Chris Mason odpověděl: Na počátek patche budeš muset přidat pár slov o tom, že Hansovi přenecháváš copyright. Ale Hans Reiser reagoval s tím, že taková formulace je velmi nepřesná. Tento dokument: www.namesys.com/legalese.html to vysvětluje lépe. Budeš-li tak laskav a povolíš mi licencovat příspěvek do reiserfs třetím stranám (kromě běžné GPL), budu za to rád, protože mi to občas umožňuje získat velmi potřebné prostředky pro vývoj reiser4.
12. dub - 21. dub
Terence Ripperda napsal:
Před dost dlouhou dobou jsem poslal email o přidání podpory tabulky atributů stránek (PAT - Page Attribute Table) (http://www.kerneltraffic.org/kernel-traffic/kt20030616_219.html#3).
Tehdy šlo o to, abychom měli možnost označit remapované I/O stránky jako Write Combined v případě, že by pro ten účel došly MTRR. To bylo především kvůli apertuře AGP a framebufferu. Jak se objevují PCI Express systémy, potřeby se trochu mění. PCI Express nemá centralizovanou aperturu jako AGP, kterou by bylo možno označit WC. Namísto toho musí být jednotlivé systémové stránky paměti označeny WC přes PAT v tabulkách stránek. To výrazně zvyšuje potřebu podpory PAT, aby byla zachována vysoká úroveň výkonu na PCI Express systémech.
Měl jsem pocit, že nejlepší bude se trochu věnovat původním reakcím ještě než se obrátím zpět na LKML. Mluvil jsem o tom s Andi Kleenem, který navrhl, abych se nejprve zaměřil na jednodušší oblasti I/O a pak se vrátil k hlavní paměti po té, co to bude hotovo a budu mít od lidí reakce.
Pracoval jsem na mechanismu (cachemap), který sleduje, jaký druh kešování je pro určitou oblast paměti právě namapován. Při namapování nové oblasti paměti se zeptáme cachemap, jestli je druh kešování nové oblasti stejný jako starý druh (nebo je s ním kompatibilní). Uspěje-li dotaz na cachemap, může být nová I/O oblast bezpečně namapována, jinak ne.
Nejdříve jsem se soustředil na ioremap, aby byly dotazy na cachemap prováděny pouze z ioremap. Také jsem přidal kód, který nechává MTRR kód volat kód cachemap (v tomto případě jde spíše o zprávu než o dotaz - značí, že mapování už bylo provedeno). Provedl jsem několik testů na systémech, které tu mám k dispozici, a všechno se zdá fungovat docela dobře.
Ten současný patch obsahuje původní podporu PAT a ten nový mechanismus cachemap. Upozorňuji, že cachemap mechanismus ve skutečnosti žádné atributy kešování nemění - pouze atributy sleduje a testuje oblasti. Myslím, že finální podoba by mohla být taková, že ovladače by používaly běžné mechanismy ioremap/change_page_attr/remap_page_range jako doposud a tyto mechanismy by používaly cachemap, aby bylo jisté, že nemáme žádné konflikty. Vítám všechny připomínky k tomu, jak by jednotlivé detaily měly fungovat, a jaké je třeba provést změny.
Andi Kleen napsal, že Terencova práce vypadá pro začátek dobře a bylo by dobré to testovat. I tak je však nutné všechno pročistit. Pak dodal:
Co se rozhraní týče, stále si myslím, že by bylo čistší to prostě volat z change_page_attr(). Pak by další uživatelé museli volat jen jednu jedinou funkci. Ale to se dá snadno změnit.
Aby to bylo opravdu užitečné, myslím, že bychom potřebovali ioremap_wrcomb() a podporu ve funkci bus/pci mmap (PCI vrstva už pro tohle má ioctl, pouze to na i386 ignorovali). Pak by to mohl začít využívat X server.
Bez uživatelů asi nebude testování moc dobré, ale než to bude začleněno, musí se tomu nějakého skutečného testování dostat. Možná by to mohlo být prostě pověšeno na nějaký AGP a DRM ovladač. Pak by to lidi aspoň začali testovat.
Eric W. Biederman ještě diskutoval s Andim o přínosu, který by to mělo pro systémy s velkým objemem paměti, zatímco Terence posílal aktualizované patche.
15. dub - 17. dub
Serial ATA, ačkoliv relativně nové, jde kupředu velmi rychle. Tento týden Marcelo Tosatti napsal:
Jeff Garzik mi poslal aktualizované SATA pro začlenění do 2.4.x.
Hodně nových počítačů už se prodává pouze se SATA disky a bylo by dost špatné mít "stabilní" sérii bez podpory takového rozšířeného standardu.
Tohle bude poslední funkce přidaná do 2.4.x - a to pouze proto, že je nezbytná.
Někdo proti?
Stefan Smietanowski řekl, že je to tak dobře, protože 2.4 bude lidmi i nadále používán, zatímco 2.6 se bude stabilizovat a stávat standardem.
Na jiném místě Andre Hedrick Marcelovi spílal za to, že měl SATA začlenit již dávno. Marcelo odpověděl: Jeff poslal SATA 1.0 již dříve, ale radši jsem to ještě chvíli pozdržel (abych si byl jistý, že je to stabilní). Teď to vypadá, že Jeff už v to má důvěru. Následovalo další obviňování, dokud vlákno nevymizelo. Marcelova rozhodnutí ohledně 2.4 budou zjevně kontroverzní až do chvíle, než se plně přejde na 2.6.
16. dub - 20. dub
Ken Ashcraft poslal dlouhý seznam potenciálních chyb v jádře. Doprovodil to vysvětlením:
Pracuji ve společnosti, která se jmenuje Coverity. Děláme na derivátu MC Checkeru vytvořeném ve Stanfordu pro profesionální nasazení. Napsal jsem statický analytický checker, který v jádře vyhledává místa, kde kernel dostane od uživatele skalár a pak jej použije bez provedení kontroly hranic. Například když ovladač načte integer od uživatele a pak ten integer použije jako index pole nebo parametr délky pro mempcy, uživatel může způsobit přetečení bufferu.
Přiložené chyby jsou zhruba seřazeny podle závažnosti. Posledních 12 chyb je celkem nicotných, protože jsou buď chráněny kontrolou capable() nebo jde pouze o 8-bitový skalár. Za malou chybu považuji i předání nezkontrolované hodnoty do kmalloc(). Uvědomuji si, že kmalloc() selže, bude-li požádán o více než 128k, ale i tak možná není vhodné nechávat uživatele alokovat tolik paměti. Všechny tyto chyby jsou ve zprávě označeny [MINOR] a/nebo [CAPABLE].
Chris Wright několik chyb potvrdil a poslal patche; některé šly přes Jeffa Garzika rovnou do 2.4 a 2.6 kernelů, jiné byly nejprve upraveny lidmi jako Andrea Arcangeli. Několik dalších chyb také Chris před ukončením vlákna vyvrátil.
20. dub - 21. dub
Sam Ravnborg poslal hrubé a nekompletní HOWTO ke kompilaci externích modulů:
kbuild poskytuje možnost kompilovat externí moduly za předpokladu, že existuje již zkompilované jádro s plnými zdrojovými kódy. Některé z cílů dostupných pro kompilaci jádra jsou k dispozici při kompilaci externího modulu.
Příkaz vypadá takto:
make -C <path to kernel src> M=$PWD
Aby byl zmíněný příkaz úspěšný, musel být kernel zkompilován s povolenými moduly.
Právě kompilované moduly nainstalujete pomocí:
make -C <path to kernel src> M=$PWD modules_install
Další komplexnější příklady přijdou později. Uvedené příkazy by měly stačit ve většině případů.
Dostupné cíle:
make -C $KDIR M=$PWD
Stejné i při zadání 'modules'. Viz popis cíle modules níže.
make -C $KDIR M=$PWD modules
Zkompiluje moduly umístěné v aktuálním adresáři. Všechny výstupní soubory budou ve stejném adresáři jako zdrojový kód modulů. Neprovádí se žádný pokus o aktualizaci zdrojů jádra a předpokládá se, že make kernelu proběhl úspěšně.
make -C $KDIR M=$PWD modules_install
Instalace externích modulů
make -C $KDIR M=$PWD clean
Odstranění všech vygenerovaných souborů v aktuálním adresáři
Dostupné volby:
make -C $KDIR
Používá se k zadání místa, kde hledat zdrojáky jádra. '$KDIR' představuje adresář se zdrojovými kódy kernelu. Make do zadaného adresáře při spuštění přepne.
make -C $KDIR M=$PWD
M= se používá k oznámení kbuildu, že kompilujeme externí modul. Hodnota parametru M= je adresář, kde je externí modul umístěn. Při kompilaci externího modulu je k dispozici pouze omezená sada obvyklých cílů.
make -C $KDIR SUBDIRS=$PWD
Totéž co M=. SUBDIRS= je ponecháno kvůli zpětné kompatibilitě.
make -C $KDIR M=$PWD help
help vypíše dostupné cíle při kompilaci externího modulu.
Pokročilejší příklad
Tento příklad znázorňuje případ, kdy se distribuce moudře rozhodla oddělit zdrojové kódy jádra a výstupní soubory:
Zdrojové kódy jádra:
/usr/src/linux-<kernel-version>/
Výstup kompilace jádra, včetně .config:
/lib/modules/linux-<kernel-version>/build/
Externí moduly, které chceme kompilovat:
/home/user/module/src/
Moduly umístěné ve zmíněném adresáři zkompilujete následujícím příkazem:
cd /home/user/module/src
make -C /usr/src/linux-<kernel-version> \
O=/lib/modules/linux-<kernel-version>/build \
M=$PWD
Pak je nainstalujte pomocí příkazu:
make -C /usr/src/linux-<kernel-version> \
O=/lib/modules/linux-<kernel-version>/build \
M=$PWD modules_install
Výše jsou uvedeny poněkud dlouhé příkazy a následující část ukazuje, jak to všechno zjednodušit.
.... Tohle je potřeba přepracovat ....
Příkazová řádka s make a několika parametry je únavně dlouhá a náchylná k chybám. Následuje malý trik, který umožňuje kompilaci modulu s použitím jediného příkazu 'make'.
Vytvořte makefile pojmenovaný 'Makefile' s následujícím obsahem:
---> Makefile:
all:
$(MAKE) -C /home/sam/src/kernel/v2.6 M=$(PWD) \
$(filter-out all,$(MAKECMDGOALS))
obj-m := module.o
---> Konec Makefile
Při spuštění si make všimne pravidla all: a zavolá make znovu se správnými parametry.
Je-li vyvíjen ovladač, který má za cíl začlenění do hlavního jádra, je lepší vložit pravidlo all: do Makefile pojmenovaného +makefile (menší velké m) - asi takto:
---> makefile
all:
$(MAKE) -f Makefile -C /home/sam/src/kernel/v2.6 \
M=$(PWD) $(MAKECMDGOALS)
---> Konec makefile
Makefile pro kbuild bude obsahovat jedinou věc:
---> Makefile:
obj-m := module.o
---> Konec Makefile
Při spuštění bude make hledat makefile pojmenovaný makefile před souborem pojmenovaným Makefile. Takže make použije soubor s menším velkým 'm'.
Při kompilaci externích modulů se očekává, že je na to jádro připraveno. To zahrnuje přítomnost určitých binárek, konfiguraci jádra a symlink na include/asm. K tomuto účelu slouží pohodlný cíl:
make modules_prepare
U typické distribuce by to vypadalo asi takto:
make modules_prepare O=/lib/modules/linux-<kernel version>/build
ZBÝVÁ UDĚLAT: Naplnit následující kapitoly
CLFAGS := include ...
Používejte _shipped ...
V originálu Kernel Traffic 263 vyšla navíc ještě tato témata:
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: